import scala.io.Source

object WordCount {
  def main(args: Array[String]): Unit = {
    // 1. 定义文件路径（根据实际位置调整）
    val filePath = "C:\\Users\\PC-608\\Desktop\\word.txt" // 若文件在resources目录，路径应为 "src/main/resources/word.txt"

    // 2. 读取文件内容并关闭资源
    val source = Source.fromFile(filePath)
    val content = try source.mkString finally source.close()

    // 3. 分割单词（按空白字符分割，过滤空字符串）
    val words = content.split("\\s+").filter(_.nonEmpty)

    // 4. 统计词频
    val wordCounts = words.groupBy(identity).mapValues(_.size)

    // 5. 按词频降序排序并输出
    wordCounts.toList
      .sortBy(-_._2)  // 按词频降序
      .foreach { case (word, count) => println(s"$word: $count") }
  }
}